Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 1-click unsubscribe docs #800

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

connorlindsey
Copy link
Contributor

Description

First pass at 1-click unsubscribe docs

Todos

  • Add to broadcast docs

Tasks

KNO-7966

Copy link

linear bot commented Mar 20, 2025

Copy link

vercel bot commented Mar 20, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 24, 2025 8:37pm

@connorlindsey connorlindsey force-pushed the connor-kno-7966-docs-1-click-unsubscribe-link-docs branch from 73a2ae5 to 7b77a5d Compare March 20, 2025 21:14

### Using footer links

When configuring an email layout using the visual editor, you can toggle the "Include commercial unsubscribe link" input to include the unsubscribe link.
Copy link
Contributor

@rachael-t rachael-t Mar 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be helpful to include a screenshot here?

Co-authored-by: Rachael Thomas <[email protected]>
@@ -15,6 +15,8 @@ When Knock runs a workflow for a user, we evaluate their `PreferenceSet`. A mess

A preference set is built using three keys: `categories`, `channel_types`, `workflows`. These keys resolve to boolean values to determine if a user has opted out of receiving a notification.

The default preference set also has the `commercial_unsubscribe` which determines if the recipient should receive notifications sent by commercial workflows or broadcasts.
Copy link
Contributor

@cellomatt cellomatt Mar 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The default preference set also has the `commercial_unsubscribe` which determines if the recipient should receive notifications sent by commercial workflows or broadcasts.
The `default` preference set also has a `commercial_unsubscribe` key which determines if the recipient should receive notifications sent by commercial workflows or broadcasts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should include an example below? Also I think there are a few things we could disambiguate here:

  • The term "default", since there's the environment-level "default preference set" in addition to a recipient's default preferences.
  • Whether we add this key in automatically (i.e. "commercial_unsubscribe": true) to each PreferenceSet that is set in Knock, regardless of whether it is provided by the customer's application?
  • Does true = send and false = don't send as usual? I think we should probably say this explicitly, because to me a setting of "commercial_unsubscribe": true reads like "it is true that I have unsubscribed, therefore I will not receive a message" but I think it's actually the opposite based on how our preferences model works.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see we include some of this on the other page under "Preference evaluation rules". I think it doesn't hurt to include at least some of the info in both places, in case someone reads the preferences overview page without looking further into commercial unsub. Perhaps linking from here to /preferences/commercial-unsubscribe#preference-evaluation-rules is enough


1. Adds required unsubscribe headers to all emails sent through that workflow or broadcast.
1. Provides an unsubscribe URL variable that can be included in your email templates.
1. Manages recipient opt-outs during preference set evaluation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Manages recipient opt-outs during preference set evaluation.
1. Manages recipient opt-outs during [preference set evaluation](/preferences/overview#preference-evaluation-rules).

Maybe a backlink to https://docs.knock.app/preferences/overview#preference-evaluation-rules here? And might be helpful to include some additional information about commercial unsubscribe in that section as well.

1. Navigate to the workflow or broadcast.
1. For a workflow, click "Manage workflow." For a broadcast, click "Edit details."
1. Toggle "Commercial."
1. Save your changes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this setting exist outside of commit model, or should we call that out too?

Comment on lines +55 to +61
### Standard confirmation page

You can customize the title and body text that will appear on the Knock confirmation page.

### Custom redirect URL

You can provide a URL that recipients should be redirected to after unsubscribing.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, we could maybe cut these two subheaders completely and mention what is customizable under the "Configuring the confirmation page header" (i.e. without having separate sections), or we should include screenshots under these subheaders.


## Preference evaluation rules

When a recipient clicks the unsubscribe link, their default preference set will be updated, marking `commercial_unsubscribe` as true. They will be opted-out of commercial messages, and they will continue to receive transactional messages based on their other preferences.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When a recipient clicks the unsubscribe link, their default preference set will be updated, marking `commercial_unsubscribe` as true. They will be opted-out of commercial messages, and they will continue to receive transactional messages based on their other preferences.
When a recipient clicks the unsubscribe link, their `default` preference set will be updated, marking `commercial_unsubscribe` as `true`. They will be opted-out of commercial messages, and they will continue to receive transactional messages based on their other preferences.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: how do we handle this for tenant-specific preferences? What happens if a tenant is applied to a given workflow trigger (either when the email that has the unsub link in it is generated, or after they have clicked it on a different workflow run's email)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants